// 事件错误处理句柄
const errorHandler = {
  error(app, logger) {
    app.use(async (ctx, next) => {
      try {
        await next();
      } catch (err) {
        logger.error(err);
        // console.log(err); // 测试查看用
        console.log('容错层500');
        ctx.status = err.status || 500; // 先读取报错状态,如果没就500
        ctx.body = '容错页面(需求自定义SEO页面)'; // 显示页面
      }
    });
    app.use(async (ctx, next) => {
      try {
        await next();
        if (404 != ctx.status) {
          return; // 不是404状态退出这块区域,进入上一层
        }
        ctx.status = 200;
      } catch (err) {
        logger.error(err);
      }
    });
  },
};

export default errorHandler;
